package com.ziq.zcamp.view.edit;

import android.text.Editable;

/**
 * 用于SupportTopicsTextWatcher 与 SupportTopicsEditText 之间的通讯
 */
interface TopicsSupportInterface {

    String TAG = "TopicsSupportInterface";
    /**
     * 仅适用于
     * 输入#调起话题面板
     * 如果批量输入的文本的最后一位是#也需要调起话题面板
     */
    void apply();


    /**
     * 清除当前view下面的话题
     */
    void clearTopics();

    /**
     * 删除当前view下面的对应index下面的话题
     * @param index 在字符串中#号的位置
     */
    void removeTopics(int index);

    /**
     * 当前view下面添加话题
     * @param index #在字符串中的位置
     * @param s 下标
     */
    boolean addTopics(int index , String s);

    /**
     * 获取当前view下面的话题数目
     * @return 话题数目
     */
    int topicsSize();

    /**
     *回调绘制的方法
     */
    void drawTopicsColor(Editable s);

    /**
     * 回调搜索的方法
     */
    void handlerSearch(boolean needSearch);


    /**
     * 获取光标的开始位置
     * @return 光标的开始位置
     */
    int getSelectionStart();

    /**
     * 输入处理完成
     */
    void inputProcessingCompleted();
}
